1. Field of the Invention
This invention relates generally to communication systems, and, more particularly, to video-on-demand systems.
2. Description of the Related Art
Conventional customer premises equipment for cable television and/or satellite television typically includes a video display (such as a television set) and a set-top box that provides the interface to the video content provider. The set-top box may be a stand-alone device or it may be implemented in other equipment, such as a video game console. Both video content providers and their customers have recognized the value in providing video content, such as feature-length movies, on-demand via the set-top box. For example, many video content providers allow customers to select movies from a menu provided using the set-top box. The video content provider may then distribute a video data stream so that the selected movies may be viewed by the requesting customer. For example, a video stream in an Internet Protocol Television (IPTV) infrastructure consists of an ordered sequence of video frames, encapsulated in IP packets. The video frames may be received at the set-top box and buffered or stored in memory until the ordered sequence of video frames is played out using the display.
Video-on-demand systems typically unicast the video streams to the set-top box of the requesting customer. In a unicast system, a dedicated channel is formed between the video content provider and the set-top box and the video stream is transmitted over this dedicated channel. Customers have the freedom to start, stop, pause, and/or resume unicast video streams at any time. However, video streams cannot be broadcast to groups of customers using a collection of unicast (point-to-point) video streams because the arbitrary starting, stopping, pausing, and/or resuming of the video streams generally leads to timing differences between the streams transmitted to each customer. These timing differences cannot be accommodated by a unicast video stream and so each customer requires their own unicast video stream. Consequently, the network bandwidth consumed by unicast video-on-demand movies increases approximately in proportion to the number of customers receiving video data streams. The total available bandwidth for conventional video-on-demand systems can easily be exhausted, particularly in cases where a large number of users attempt to view very popular movies. The potential network exhaustion severely limits the number of video-on-demand movies that can be distributed concurrently by an IPTV network, which may reduce the potential revenue income to the content provider.
FIG. 1 conceptually illustrates one embodiment of a conventional IPTV network 100 that implements unicasting of video-on-demand content. A video content provider 105 is configured to unicast video content to one or more customers 110 (only one indicated by a numeral in FIG. 1) in response to a request transmitted by the customer. In the illustrated embodiment, five of the six customers 110 have requested video content. A dedicated channel is formed between the video content provider 105 and each of the requesting customers 110, as indicated by the boldface arrows. The dedicated channels are formed a network of nodes 115 (only one indicated by a numeral in FIG. 1) that are connected by wired and/or wireless communication links. When a packet 120 of video content is unicast to one or more of the customers 110, the packet travels over the dedicated link between the video content provider 105 and he customer 110. If the customers 110 are watching the same video content at approximately the same time, then the packets 120 are duplicated and so each of the dedicated channels is concurrently transmitting the same packets 120.
FIG. 2 conceptually illustrates one conventional multicasting system 200 implements multicasting of video-on-demand content. A video content provider 205 is configured to multicast video content to one or more customers 210 (only one indicated by a numeral in FIG. 2) in response to a request transmitted by the customer. In the illustrated embodiment, five of the six customers 210 have requested video content. Each of the requesting customers 210 is scheduled to receive the same video content at the same time. The video content provider 205 may then provide a single packet 215 of video content over a single channel indicated by the boldface arrows. When this packet 215 is received at each node 220 in the system 200, the node 220 transmits a copy of the packet 215 over each branch of the network. Finally, the last node 220 transmits copies of the video content packets 215 to the requesting customers 210.
Multicasting video content to customers can reduce the bandwidth used over each branch of the network because only a single copy of video content is transmitted over each branch. However, this advantage comes at the expense of requiring that each customer receive the video content at the same time. Thus, customers who receive multicast video content do not have the freedom to start, stop, pause, and/or resume the multicast video streams at arbitrary times. One alternative to simple multicasting of the video content is to maintain multiple multicast video streams that have staggered starting times. This approach, which is sometimes referred to as near video-on-demand, allows customers to select from a range of staggered starting times. However, near video-on-demand solutions still did not provide customers with complete freedom to start, stop, pause, and/or resume the video streams. Furthermore, the bandwidth requirements of near video-on-demand increase as the number of available concurrent data streams having different starting times increases. Consequently, near video-on-demand solutions may also suffer from network bandwidth exhaustion if the number of available starting times is raised too high.